Fault diagnosis system

ABSTRACT

A fault diagnosis system for diagnosing faults in complex equipment. The system includes means for storing a set of diagnostic signatures which relates a set of known faults which may occur in the equipment to respective fault symptoms which are deemed indicative of said known faults; and means for processing the diagnostic signatures and a set of fault symptoms identified for a current state of the equipment to calculate diagnostic data for identifying a fault causing the current state of the equipment. The diagnostic data includes a plurality of values which are indicative of different relative non-zero likelihoods of each of a plurality of different known faults causing the current state of the equipment.

The invention relates to a fault diagnosis system. More specifically butnot exclusively, the invention relates to a fault diagnosis system foruse in the diagnosis of faults in complex equipment, such as satellitetelecommunications networks.

Satellite telecommunications networks are complex equipment that includemany parts, such as the satellite itself, the satellite base or groundstation and the mobile transmitter/receivers that operate within thenetwork. Such complex equipment can develop faults that require swiftand efficient diagnosis and correction in order to return the network tooperational state as soon as possible.

In such complex equipment, it may not be obvious what the fault is. Thefault itself will generate a number of symptoms, and it is thesesymptoms that must be interpreted in order to trace and correct thefault. It should be noted that a single fault can produce a number ofsymptoms and that any one symptom can be generated by a number offaults.

Expert systems have been proposed as a possible method of diagnosingfaults in complex equipment. An expert system requires experts to encodetheir expertise into machine readable code. This code can then be usedto diagnose faults based on the symptoms presented by the equipment. Onesuch expert system is described in U.S. Pat. No. 6,041,182.

However, the expert system approach requires there to be an expert forall the parts of the equipment, which for complex equipment willtypically require a significant number of experts and very significantamounts of effort expended by each expert to encode their relevantexpertise appropriately. Expert systems are rule based and the systemwould need to create rules based on the equipment in order to operateeffectively. In complex equipment, these rules would be complex andtheir creation would be time consuming and involved. This would lead toan increase in the costs involved in setting up the expert system, bothin terms of actual costs and increased time costs.

Another method of fault diagnosis that has been proposed is the use of aneural net. A neural net is a tool that is effectively trained. For theabove example of a satellite telecommunication network the neural netwould have to be trained and told what faults exhibited what symptoms.The time involved in creating a neural net for such a complex networkwould be large. For example, if there are 800 components in theequipment, then there may be about 3000 possible faults. There could beof the order of 2⁸⁰⁰ different configurations. Assuming the need totrain the system 1000 times for each fault, and it takes say 1 secondper training session, then it will take 3×10⁶ seconds or 800 hours totrain each configuration. If the training procedure was performed forevery configuration then the time required would be longer than the lifeof the universe. Whilst for small, fixed systems, neural nets are a goodsolution for fault diagnosis, other approaches are clearly desirable forcomplex equipment.

U.S. Pat. No. 5,544,308 describes a system for the automated diagnosisof faults containing repairable parts using a fault/symptom matrix andperforming tests in order to identify a suspect list of faults. Thesystem produces lists of suspect faults by discarding possible faultsaccording to a set of criteria. If any suspect faults are found, thesystem goes on to work out what test would be best to use next toeliminate as many faults from the set as possible. If no suspect faultsare found, the system loosens its criteria until there are somesuspects, and then performs the test selection, iteratively until onlyone suspect fault remains. The fault diagnosis provided by the system isnot efficient, particularly in relation to complex equipment in whichthere are large numbers of possible faults and correspondingly largesets of symptoms.

It is therefore an object of the present invention to provide a faultdiagnosis system for use in complex equipment which does not suffer fromthe disadvantages of expert systems or neural nets.

In accordance with the present invention there is provided a faultdiagnosis system for diagnosing faults in complex equipment, the systemincluding:

-   -   means for storing a set of diagnostic signatures which relates a        set of known faults which may occur in the equipment to        respective fault symptoms which are deemed indicative of said        known faults; and    -   means for processing said diagnostic signatures and a set of        fault symptoms identified for a current state of the equipment,        to calculate diagnostic data for identifying a fault causing the        current state of the equipment, the diagnostic data including a        plurality of values which are indicative of different relative        non-zero likelihoods of each of a plurality of different known        faults causing the current state of the equipment.

The fault diagnosis system of the invention uses the concepts of faultsand symptoms. Herein, a fault is a system characteristic that causespart of the system to fail and lose some of its functionality. From thefault description, the maintainer should be able to isolate the faultycomponent and effect a repair. Herein, a symptom is an element of thesystem state which is indicative of a fault. One symptom may be presentin several faults, and one fault may exhibit several symptoms. Faultsessentially have a diagnostic signature of symptoms. Generally, eachfault should have a unique diagnostic signature of symptoms.

The system may be arranged to calculate the diagnostic data such that afault symptom being present in said current state symptoms and beingdeemed indicative of a known fault in said diagnostic signaturesprovides a cumulative positive contribution to a value indicative oflikelihood of the corresponding fault being causative.

The system may also be arranged to calculate the diagnostic data suchthat a fault symptom being present in said current state symptoms andbeing deemed indicative of a known fault in said diagnostic signaturesprovides a more positive contribution to a value indicative oflikelihood of the corresponding fault being causative, than the faultsymptom not being present in said current state symptoms.

Preferably, the system may be arranged to calculate the diagnostic datasuch that a fault symptom, which is deemed indicative of a relativelyhigh number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed indicative of a knownfault in said diagnostic signatures provides a less positivecontribution to a value indicative of likelihood of the correspondingfault being causative, than the contribution to the same value providedby a different fault symptom, which is deemed indicative of a relativelylow number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed indicative of the samefault in said diagnostic signatures. In this case, system may bearranged to calculate the diagnostic data such that a fault symptombeing present in said current state symptoms and being deemed indicativeof a known fault in said diagnostic signatures, provides a contributionto a value indicative of likelihood for the corresponding fault which isnormalised relative to the number of known faults of which the faultsymptom is deemed indicative of said diagnostic signatures.

The diagnostic signatures may relate the set of known faults which mayoccur in the equipment to respective fault symptoms which are deemedunrelated to said known faults. The system may be arranged to calculatethe diagnostic data such that a fault symptom being present in saidcurrent state symptoms and being deemed unrelated to a known fault insaid diagnostic signatures provides a cumulative negative contributionto a value indicative of likelihood of the corresponding fault beingcausative. Alternatively, the system is arranged to calculate thediagnostic data such that a fault symptom being present in said currentstate symptoms and being deemed indicative of a known fault in saiddiagnostic signatures provides a more positive contribution to a valueindicative of likelihood of the corresponding fault being causative,than a different fault symptom not being present in said current statesymptoms and being deemed unrelated to the fault in said diagnosticsignatures.

As an alternative, the system may be arranged to calculate thediagnostic data such that a fault symptom being present in said currentstate symptoms and being deemed indicative of a known fault in saiddiagnostic signatures provides a more positive contribution to a valueindicative of likelihood of the corresponding fault being causative,than a different fault symptom being present in said current statesymptoms and being deemed unrelated to the fault in said diagnosticsignatures.

The system may be arranged to calculate the diagnostic data such that afault symptom not being present in said current state symptoms and beingdeemed indicative of a known fault in said diagnostic signaturesprovides a more positive contribution to a value indicative oflikelihood of the corresponding fault being causative, than a differentfault symptom being present in said current state symptoms and beingdeemed unrelated to the fault in said diagnostic signatures.

The system may also be arranged such that a fault symptom which isdeemed unrelated to a known fault has a more positive contribution to avalue indicative of likelihood for the fault, when the symptom is notpresent in said current state symptoms, than the contribution of thesame symptom, when present in said current state symptoms, to a valueindicative of likelihood for the same fault probability.

Furthermore, the system may be arranged to calculate the diagnostic datasuch that a fault symptom, which is deemed unrelated to a relativelyhigh number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed unrelated to a knownfault in said diagnostic signatures provides a less negativecontribution to a value indicative of likelihood of the correspondingfault being causative, than the contribution to the same value providedby a different fault symptom, which is deemed unrelated to a relativelylow number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed unrelated to the samefault in said diagnostic signatures.

Ideally, the diagnostic signatures relate the set of known faults whichmay occur in the equipment to respective fault symptoms which arenon-diagnostic in relation to said known faults. The diagnosticsignatures may identify a fault symptom to be non-diagnostic in relationto a first known fault, and to be indicative of a second known fault. Ineither case, the system is arranged to calculate the diagnostic datasuch that a fault symptom being present in said current state symptomsand being deemed non-diagnostic in relation to a known fault in saiddiagnostic signatures provides a contribution to a value indicative oflikelihood of the corresponding fault being causative, which is similarto a contribution provided to the same value by a different faultsymptom not being present in said current state symptoms and beingdeemed non-diagnostic in relation to the fault in said diagnosticsignatures.

Advantageously, the system is capable of receiving current statesymptoms input by a human operator. The system may prompt the operatorfor the input of such symptoms or the operator may input the symptomsunprompted. In either case, the system is arranged to calculate valuesindicative of diagnostic rejection power for different possible symptomsto suggest a current state symptom which is to be input by a humanoperator in order to improve the diagnosis. Here, the system uses saidcalculated values indicative of likelihood in calculating said rejectionvalues.

As alternative to receiving current state symptoms, the system mayreceive an indication of a fault fix input by a human operator, and torecalculate said diagnostic data in response thereto.

The system may calculate values indicative of diagnostic benefit fordifferent possible fault fixes to be performed by a human operator inorder to improve the diagnosis. The calculated values are used as beingindicative of likelihood in calculating said benefit values.

In addition, the system may store mean time before failure values forequipment components, and is capable of calculating said valuesindicative of likelihood using said mean time before failure values.

Different diagnostic modes in which said probabilities are calculatedusing different algorithmic methods may be carried out by the system. Ina first diagnostic mode, said probabilities are calculated using a firstrelationship with said mean time before failure values, and in a seconddiagnostic mode, said probabilities are calculated using a secondrelationship with said mean time before failure values. In said seconddiagnostic mode, said values indicative of likelihood are calculatedwithout reference to said mean time before failure values.

The values indicative of likelihood may be calculated using a weightingfunction applied to a set of calculated values to produce the saidvalues indicative of likelihood. Such a weighting function may be asubstantially monotonic function or an exponential function.

In addition, the values indicative of likelihood are calculated usingnormalisation across a calculated set of values. Preferably, the systemis arranged to be capable of calculating the diagnostic data bycalculating a first set of values indicative of likelihood, identifyingfaults which have relatively small likelihoods of being causative, andperforming a recalculation of said diagnostic data whilst taking saidfaults having relatively small likelihoods of being causative to have aneffectively zero likelihood of being causative. In this case, thediagnostic signatures of said faults having relatively small likelihoodsof being causative are omitted from said recalculation.

The system may be arranged to calculate sets of diagnostic data inrelation to sets of fault symptoms identifying current states of thesystem in iterative steps using continually improved knowledge of thecurrent state of the system at each step. Additionally, similar symptomsmay be associated for ease of diagnosis.

In accordance with a second aspect of the present invention, there isprovided computer software arranged to implement the system describedabove.

In accordance with a further aspect of the present invention, there isprovided a computer-implemented method for diagnosing faults in complexequipment, the method comprising:

-   -   storing a set of diagnostic signatures which relates a set of        known faults which may occur in the equipment to respective        fault symptoms which are deemed indicative of said known faults;        and    -   processing said diagnostic signatures and a set of fault        symptoms identified for a current state of the equipment, to        calculate diagnostic data for identifying a fault causing the        current state of the equipment, the diagnostic data including a        plurality of values which are indicative of different relative        non-zero likelihoods of each of a plurality of different known        faults causing the current state of the equipment.

The fault diagnosis system of the present invention monitors and storesthe current state of the system under diagnosis. It also holds arepository of diagnostic knowledge, detailing known ways the system canfail, and what the characteristics of each failure are. Wheneverrequested, the fault diagnosis system performs a diagnosis, in which thelikelihoods of all possible faults are calculated given the currentstate of the system.

The fault diagnosis system maintains a data set called the SymptomVector which contains the current state of symptoms on the system. Thefault diagnosis system also holds the list of all known faults and allknown symptoms, and a pattern which correlates the faults with thesymptoms. This can be maintained in one or both of two forms: the FaultExemplar, which holds all fault signature information, and theDiagnostic Exemplar, which holds the fault signature information in apreprocessed form which has improved diagnostic power, ready for quickdiagnosis.

When requested, the fault diagnosis system pre-multiplies the SymptomVector by the Diagnostic Exemplar, to give a vector of scores for eachfault, in an effective manner in terms of processing cost. The highestscoring fault is the most likely to be the causative one. Algorithmsused in the fault diagnosis system convert this vector of scores into avector of probabilities.

The fault diagnosis system deals with automatic symptoms, which areproduced by sensors in the system being diagnosed, and continuallymaintains the state of the Symptom Vector as the state of the systemalters. It also deals with manual symptoms, which are to be input by ahuman operator diagnosing the system, referred to herein as themaintainer. The processor uses algorithms for identifying the bestmanual symptom or symptoms to be characterised by the maintainer.Further algorithms used by the fault diagnosis system allow trade-offsbetween the relative benefits of fixing faults against investigatingsymptoms.

Further features and advantages of the invention will become apparentfrom the following description of preferred embodiments of theinvention, given by way of example only and made with reference to theaccompanying drawings, wherein:

FIG. 1 is a schematic diagram of complex equipment and a fault diagnosissystem therefor;

FIG. 2 is a flow diagram illustrating steps carried out by the faultdiagnosis system in an embodiment of the invention; and

FIGS. 3 to 5 illustrate user interfaces presented to a maintainer inaccordance with an embodiment of the invention.

Referring to FIG. 1, complex equipment 2, for example a satellitecommunications network, typically includes a control and monitoringsystem 4, for example one or more computing platforms, various equipmentcomponents C1, C2, C3 . . . and various sensors S1, S2, S3 . . . . forsensing symptoms relating to the components. Sensors may also be used tosense ambient conditions, such as atmospheric temperature, atmosphericpressure, etc. Fault symptoms may be derived from any of the sensors ordirectly from any of the components. The equipment 2 may includein-built fault diagnosis software 6, or a fault diagnosis instrument,for example a laptop computer, running fault diagnosis to software inaccordance with an embodiment of the invention. The fault diagnosissoftware embodies the fault diagnosis system of the present invention.

It is to be noted that the control and monitoring system 4 also includesone or more interfaces (not shown) for interfacing with the complexequipment. It will be appreciated that the interfaces may bemulti-level, each level of interface being designed for individual usersof the diagnostic system. For example, there may be a requirement for amaintainer interface in addition to a developer interface and a userinterface.

It will also be appreciated that the profile of each user may include aparticular set up of available windows, buttons, menus and toolbars, andthat each user may have more than one profile according to the tasks tobe completed.

Referring to FIG. 2, the fault diagnosis system performs various steps,to be described in further detail below. Each of Steps 100 to 118 is asdescribed in the text of the flow diagram, and will be understoodfurther from the procedures explained in further detail below.

The fault diagnosis system stores diagnostic signatures in a matrix,termed the Fault Exemplar. The Fault Exemplar is a two dimensionalmatrix of symptoms and faults comprising a set of fault diagnosticsignatures which represent the system fault behaviour. The faults labelthe columns of the matrix, and the symptoms label the rows. Each cell inthe matrix can have one of three different states:

The symptom is always present when the fault occurs. “1” representsthis.

The symptom is never present when the fault occurs. “0” represents this.

The symptom is sometimes present when the fault occurs. “*” representsthis.

The fault diagnosis system algorithm manipulates the Fault Exemplarmatrix, which represents the raw diagnostic information, into aDiagnostic Exemplar matrix, which is used to diagnose the system. Thismanipulation is carried out in Step 100 of FIG. 2. The DiagnosticExemplar contains only floating point numbers, generally having variousfractional values between −1 and +1.

Alternatively, the fault diagnosis system may store the DiagnosticExemplar matrix in pre-computed form. Both the Fault Exemplar and theDiagnostic Exemplar hold diagnostic signatures which relate a knownfault which may occur in the equipment to respective fault symptomswhich are deemed indicative of said known faults.

A diagnostic symptom can have one of three values: it can be present, itcan be absent, or it can be unknown. If the symptom value is 1 (ifpresent), or 0 (if absent), in both cases it is diagnostic (beingconsidered within a diagnosis). If it is unknown, then it isnon-diagnostic, and is not considered within the diagnosis. This isrepresented in the following table. Diagnostic Symptom is Symptom Stateprocessor value diagnostic Present 1 Yes Absent 0 Yes Unknown <notapplicable> No

If the symptom's state is detectable (either present or absent), andcharacterises one or more faults, then the symptom is incorporated intothe diagnostic knowledge and included in the Fault Exemplar (and hencethe Diagnostic Exemplar), since the symptom is “diagnostic”. If thestate of the symptom is not capable of being known, or characterisesnone of the known faults, then it is excluded from the diagnosticknowledge (and hence from the Diagnostic Exemplar), and the symptom is“non-diagnostic”.

The Diagnostic Exemplar is also a matrix, which contains real numbers inthe range −1 to +1. The “1”s, “0”s and “*”s of the Fault Exemplar havebeen reduced to an easily managed form which the computer can quicklyprocess. An algorithm is used to convert the Fault Exemplar to theDiagnostic Exemplar.

This conversion algorithm is best understood by an example. In thefollowing example, there are four possible faults: f₁, f₂, f₃, and f₄,and nine possible symptoms: s₁, s₂, . . . , to s₉.

Fault f₁ produces symptoms s₁, s₃, s₅, s₇, s₉.

Fault f₂ produces symptoms s₁, s₂, s₃.

Fault f₃ produces symptoms s₄, s₅.

Fault f₄ produces symptoms s₃, s₄, s₅, s₆, s₇, s₈, s₉.

The algorithmic conversion may now be described using a matrixrepresentation, where the first column corresponds to the faultsignature of f₁, the second to that of f₂ and so on. The first rowrepresents s₁ etc. The set of fault signatures can be represented by thefollowing matrix, called M₀ ^(T):— $M_{0}^{T} = \begin{pmatrix}1 & 1 & 0 & 0 \\0 & 1 & 0 & 0 \\1 & 1 & 0 & 1 \\0 & 0 & 1 & 1 \\1 & 0 & 1 & 1 \\0 & 0 & 0 & 1 \\1 & 0 & 0 & 1 \\0 & 0 & 0 & 1 \\1 & 0 & 0 & 1\end{pmatrix}$

This matrix, M₀ ^(T), is the Fault Exemplar.

The conversion algorithm manipulates the transpose of M₀ ^(T), which isM₀, and has contents: $M_{0} = \begin{pmatrix}1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 1\end{pmatrix}$

Next, the algorithm produces the matrix M₁, which contains the symptomsnormalised by their discrimination power, by normalising each column tosum to 1. A symptom that appears on several faults is not as useful atdiscriminating as one which is unique to a fault or appears in a smallernumber of fault signatures. Thus, s₂ only appears as a symptom of f₂,and has more weight than S₃, which appears on faults f₁, f₂ and f₄.$M_{1} = \begin{pmatrix}0.5 & 0 & 0.333333 & 0 & 0.333333 & 0 & 0.5 & 0 & 0.5 \\0.5 & 1 & 0.333333 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0.5 & 0.333333 & 0 & 0 & 0 & 0 \\0 & 0 & 0.333333 & 0.5 & 0.333333 & 1 & 0.5 & 1 & 0.5\end{pmatrix}$

The next stage is to normalise across the matrix, so that each of therows sums to 1, which produces the matrix M₂. $\begin{matrix}{M_{2} =} \\{\begin{pmatrix}0.230769 & 0 & 0.153846 & 0 & 0.153846 & 0 & 0.230769 & 0 & 0.230769 \\0.272727 & 0.545454 & 0.181818 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0.6 & 0.4 & 0 & 0 & 0 & 0 \\0 & 0 & 0.08 & 0.12 & 0.08 & 0.24 & 0.12 & 0.24 & 0.12\end{pmatrix}}\end{matrix}$

This matrix when multiplied by a Symptom Vector “rewards” symptomspresent in the current state matching fault symptoms present insignatures.

Next a matrix N₀ is defined using M₀, but replacing all 1's for 0's and0's for 1's. $N_{0} = \begin{pmatrix}0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\1 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 \\1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

This matrix is normalised down the columns to produce N₁:—$N_{1} = \begin{pmatrix}0 & 0.333333 & 0 & 0.5 & 0 & 0.333333 & 0 & 0.333333 & 0 \\0 & 0 & 0 & 0.5 & 1 & 0.333333 & 0.5 & 0.333333 & 0.5 \\0.5 & 0.333333 & 1 & 0 & 0 & 0.333333 & 0.5 & 0.333333 & 0.5 \\0.5 & 0.333333 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

Now N₂ is produced from N₁ by normalising along the rows:—$\begin{matrix}{N_{2} =} \\{\begin{pmatrix}0 & 0.222222 & 0 & 0.333333 & 0 & 0.222222 & 0 & 0.222222 & 0 \\0 & 0 & 0 & 0.157895 & 0.315789 & 0.105263 & 0.157895 & 0.105263 & 0.157895 \\0.142857 & 0.095238 & 0.285714 & 0 & 0 & 0.095238 & 0.142857 & 0.095238 & 0.142857 \\0.6 & 0.4 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}}\end{matrix}$

This matrix, when multiplied by a Symptom Vector and subtracted,“penalises” symptoms present in the current state which do not matchsymptoms present in fault signatures.

Finally, a matrix M₃ is produced from M₂ and N₂.M ₃ =M ₂ −N ₂

The contents of M₃ are:— $M_{3} = \begin{pmatrix}0.230760 & {- 0.222222} & 0.153846 & {- 0.333333} & 0.153846 & {- 0.222222} & 0.230769 & {- 0.222222} & 0.230769 \\0.272727 & 0.545454 & 0.181818 & {- 0.157895} & {- 0.315789} & {- 0.105263} & {- 0.157895} & {- 0.105263} & {- 0.157895} \\{- 0.142857} & {- 0.095238} & {- 0.285714} & 0.6 & 0.4 & {- 0.095238} & {- 0.142857} & {- 0.095238} & {- 0.142857} \\{- 0.6} & {- {.04}} & 0.08 & 0.12 & 0.08 & 0.24 & 0.12 & 0.24 & 0.12\end{pmatrix}$

M₃ is the Diagnostic Exemplar in this example. The Diagnostic Exemplarincludes a set of diagnostic signatures of faults, with significantlyimproved diagnostic power than the Fault Exemplar.

The fault diagnosis system builds up a current state representation foreach symptom represented within the Fault Exemplar. The diagnosticsystem builds up a column vector of the system's current set of faultsymptoms. This corresponds to Step 102. If present, then the symptom isgiven the value 1, if absent, then it is given the value of 0. Thecolumn vector of symptom states is known as the Symptom Vector.Diagnostic symptoms are present in the Symptom Vector, non-diagnosticsymptoms are not.

An (extremely simple) exemplary four symptom Symptom Vector is:$\quad\begin{pmatrix}1 \\1 \\0 \\0\end{pmatrix}$

However, it will be appreciated that the Symptom Vector is generallymore complex than that illustrated above, that is, the Symptom Vector isa column vector comprising a plurality of rows, each element being “1”or “0”.

The fault diagnosis system uses a diagnostic algorithm which performs amatrix multiplication of the Diagnostic Exemplar, by the Symptom Vector.This is illustrated in Step 104. This results in a set of scores, whichare probabilities which represent likelihoods of each of the faultsbeing present in the current state of the equipment and diagnosis. Aperfectly matching fault will have a score of 1 (that is, all expectedsymptoms are present and no unexpected symptoms). The reverse of this(all of the expected symptoms absent, and all of the unexpected symptomspresent) would give a score of −1. All other scores fall in between.Better matches give values closer to 1, and worse matches give valuescloser to −1. A Symptom Vector of all 1s or all 0s will give a score of0 to all faults.

In the following example the Diagnostic Exemplar is tested against setsof Symptom Vectors replicating fault signatures except that a “0” isentered (symptom not present) for each non-diagnostic symptom in therespective fault signatures. Let S₁ be the fault signature for fault f₁,and S₂, S₃, S₄ be for f₂, f₃, f₄. Then $S_{1} = {{\begin{pmatrix}1 \\0 \\1 \\0 \\1 \\0 \\1 \\0 \\1\end{pmatrix}\quad S_{2}} = {{\begin{pmatrix}1 \\1 \\1 \\0 \\0 \\0 \\0 \\0 \\0\end{pmatrix}\quad S_{3}} = {{\begin{pmatrix}0 \\0 \\0 \\1 \\1 \\0 \\0 \\0 \\0\end{pmatrix}\quad S_{4}} = \begin{pmatrix}0 \\0 \\1 \\1 \\1 \\1 \\1 \\1 \\1\end{pmatrix}}}}$ ${M_{3}S_{1}} = {{\begin{pmatrix}1 \\{- 0.17703} \\{- 0.31429} \\{- 0.2}\end{pmatrix}\quad M_{3}S_{2}} = \begin{pmatrix}0.16239 \\1 \\{- 0.52381} \\{- 0.92}\end{pmatrix}}$ ${M_{3}S_{3}} = {{\begin{pmatrix}{- 0.17949} \\{- 0.47368} \\1 \\0.2\end{pmatrix}\quad M_{3}S_{4}} = \begin{pmatrix}{- 0.00855} \\{- 0.81818} \\0.23810 \\1\end{pmatrix}}$

The effect of pre-multiplying a Symptom Vector with the DiagnosticExemplar, is to produce a vector of fault scores. It can be seen thatthe score of the fault corresponding to the Symptom Vector in each caseis 1 (100%), and that the scores of the other faults are significantlylower.

Therefore, a basic diagnosis is achieved by sorting the faults in orderof score, and picking the one with the highest score. The score is abasic value indicating a likelihood of the fault being causative of thecurrent system state.

Although the score is helpful in identifying faults, a betterunderstanding of the likelihood of a fault is obtained by generatingweighted probabilities to each of the possible faults. Step 106illustrates applying a weight score vector to generate a ProbabilityVector. The fault diagnosis system calculates probabilities by weightingeach score by a monotonic function, and normalising, so the totalprobabilities sum to unity. Preferably, an exponential weightingfunction is used. This provides a significantly more meaningful result.The probabilities are improved values indicating likelihood of faultsbeing causative, and are used in much of the subsequent processing.

It should be understood that the values generated, whether scores orweighted probabilities, are relative. A fault with a higher score orprobability is more likely to be the best match to the symptomspresented.

In one embodiment, a weighting function of $\frac{e^{Bs}}{A + e^{Bs}}$is used, where “s” is the score, and where “A” and “B” are calculatedfrom the number of symptoms and faults. However, it has been found thatthis weighting function has a poor performance when a number of thescores are close to 1.

In a preferred embodiment, a weighting function of e^(20s) is used. Thishas been found to give better results in a broad range of scenarios,especially where there are several results with scores close to 1. Theeffect of this function is to separate out items with scores that differby 0.1 with a difference in probability of about a factor of 10.

After the generation of a Probability Vector, it is possible to end thefault diagnosis as indicated by Step 108. However, by doing so at thisstage, there is no indication of the additional benefit which can beachieved if user observed symptoms are also input to the system.

In certain cases, it can not be stated definitely whether a faultproduces a certain symptom or not. Therefore, the algorithm preferablycan cope with a symptom which may or may not appear for a given fault,in which case the symptom is non-diagnostic in relation to that fault(although it may be indicative of a different fault when present).

There are several reasons for symptoms not always appearing with afault:

1. The symptom may be difficult for unskilled maintainers to identify.

2. The symptom may be part of a cluster of symptoms monitoring differentthresholds on the same measurement. The fault may cause an intermediatestate of the system to appear, which can only be approximately estimatedin the laboratory.

3. The mechanism providing the symptom may be subject to noise or drift.

4. There may be insufficient knowledge about the system to ascertainwhether the fault produces the symptom.

The presence or absence of such “possible” symptoms should not affectthe diagnosis and are therefore treated as non-diagnostic for one ormore faults. The following example, based upon the previous one, showshow the algorithm copes with such non-diagnostic symptoms.

As in the previous example, there are four possible faults: f₁, f₂, f₃,and f₄, and 9 possible symptoms: s₁, s₂, . . . , to s₉.

Fault f₁ always produces symptoms s₁, s₃, s₅, s₇, s₉.

Fault f₂ always produces symptoms s₁, s₂, s₃ and may produce s₈, s₉.

Fault f₃ always produces symptoms s₄, s₅. And may produce s₁, s₂, s₃.

Fault f₄ always produces symptoms s₃, s₄, s₅, s₆, s₇, s₈, s₉.

The algorithmic process may now be described using a matrix-likerepresentation, where the first column is a fault signature whichcorresponds to f₁, the second to f₂ and so on. The first row representss₁, etc. The above set of faults and symptoms can be represented by thefollowing pattern of symbols, which is the new Fault Exemplar. It is amatrix-like representation, but can not be called a matrix because ithas non-numeric values, which can not be manipulated by conventionalmatrix methods. A “1” means that a fault produces a symptom, a “0” meansthat a fault does not produce a symptom, and a means that the system isnon-diagnostic for the fault in question.${{Fault}\quad{Exemplar}} = \begin{pmatrix}1 & 1 & * & 0 \\0 & 1 & * & 0 \\1 & 1 & * & 1 \\0 & 0 & 1 & 1 \\1 & 0 & 1 & 1 \\0 & 0 & 0 & 1 \\1 & 0 & 0 & 1 \\0 & * & 0 & 1 \\1 & * & 0 & 1\end{pmatrix}$

From this the same MT matrix is formed as before, where each “*” isreplaced by “0”:— $M_{0}^{T} = \begin{pmatrix}1 & 1 & 0 & 0 \\0 & 1 & 0 & 0 \\1 & 1 & 0 & 1 \\0 & 0 & 1 & 1 \\1 & 0 & 1 & 1 \\0 & 0 & 0 & 1 \\1 & 0 & 0 & 1 \\0 & 0 & 0 & 1 \\1 & 0 & 0 & 1\end{pmatrix}$and into a matrix P^(T) holding “1”s only where the “*” information isfound, and “0”s elsewhere: $P^{T} = \begin{pmatrix}0 & 0 & 1 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 \\0 & 1 & 0 & 0 \\0 & 1 & 0 & 0\end{pmatrix}$

The fault diagnosis system manipulates the transpose of M₀ ^(T) andP^(T) which are M₀ and P. M₀ has contents: $M_{0} = \begin{pmatrix}1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 \\0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 1\end{pmatrix}$

P has contents: $P = \begin{pmatrix}0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \\1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

Next, the fault diagnosis system produces the matrix M₁ from M₀,containing the symptoms normalised by their discrimination power. Thus,each column is made to sum to 1. A symptom that appears on severalfaults is not as useful at discriminating as one which is unique to afault, or to a smaller number of faults. Since, s₂ only appears as asymptom of f₂, it thus has more weight than s₃, which appears on faultsf₁, f₂ and f₄. $M_{1} = \begin{pmatrix}0.5 & 0 & 0.333333 & 0 & 0.333333 & 0 & 0.5 & 0 & 0.5 \\0.5 & 1 & 0.333333 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0.5 & 0.333333 & 0 & 0 & 0 & 0 \\0 & 0 & 0.333333 & 0.5 & 0.333333 & 1 & 0.5 & 1 & 0.5\end{pmatrix}$

The next stage is to normalise across the matrix, so that each of therows sums to 1, to produce the matrix M₂. $M_{2} = \begin{pmatrix}0.230769 & 0 & 0.153846 & 0 & 0.153846 & 0 & 0.230769 & 0 & 0.230769 \\0.272727 & 0.545454 & 0.181818 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 0 & 0 & 0.6 & 0.4 & 0 & 0 & 0 & 0 \\0 & 0 & 0.08 & 0.12 & 0.08 & 0.24 & 0.12 & 0.24 & 0.12\end{pmatrix}$

This matrix when multiplied by a Symptom Vector “rewards” symptomspresent in the current state matching symptoms present in faultsignatures, as before, and also “rewards” symptoms present in thecurrent state matching symptoms which are non-diagnostic in faultsignatures.

Next a matrix N₀ is defined which is the one's complement of M₀, made byreplacing all 1's for 0's and 0's for 1's. $N_{0} = \begin{pmatrix}0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\1 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 \\1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

The matrix N′₀ is produced which is N₀−P$N_{0}^{\prime} = \begin{pmatrix}0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

This matrix is normalised down the columns to produce N₁:—$N_{1} = \begin{pmatrix}0 & 0.5 & 0 & 0.5 & 0 & 0.333333 & 0 & 0.5 & 0 \\0 & 0 & 0 & 0.5 & 1 & 0.333333 & 0.5 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0.333333 & 0.5 & 0.5 & 1 \\1 & 0.5 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

Notice that symptom 3 has no representation at all in this matrix, andis normalised to all zero.

Now N₂ is produced from N₁ by normalising along the rows:—$N_{2} = \begin{pmatrix}0 & 0.272727 & 0 & 0.272727 & 0 & 0.181818 & 0 & 0.272727 & 0 \\0 & 0 & 0 & 0.214286 & 0.428571 & 0.142857 & 0.214286 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0.142857 & 0.214286 & 0.214286 & 0.428571 \\0.666667 & 0.333333 & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{pmatrix}$

This matrix, when multiplied by a Symptom Vector and subtracted,“penalises” symptoms present in the current state which do not matchfault signatures, as before, and also “penalises” symptoms present inthe current state matching symptoms which are non-diagnostic in faultsignatures.

Finally, a matrix M₃ is produced from M₂ and N₂. M₃=M₂−N₂

The contents of M₃ are:— $M_{3} = \begin{pmatrix}0230769 & {- 0272727} & 0153846 & {- 0272727} & 0153846 & {- 0181818} & 0230769 & {- 0272727} & 0230769 \\0272727 & 0545455 & 0181818 & {- 0214286} & {- 0428571} & {- 0142857} & {- 0214286} & 0 & 0 \\0 & 0 & 0 & 06 & 04 & {- 0142857} & {- 0214286} & {- 0214286} & {- 0428571} \\{- 0666667} & {- 0333333} & 008 & 012 & 008 & 024 & 012 & 024 & 012\end{pmatrix}$

M₃ is the Diagnostic Exemplar in this example. The Diagnostic Exemplarincludes diagnostic signatures of faults, with significantly improveddiagnostic power than the Fault Exemplar. The effect of a non-diagnosticsymptom being present or not present is neutral.

The Diagnostic Exemplar has the property, that when it multiplies aSymptom Vector, it rewards symptoms which match faults, but penalisessymptoms which do not match faults. Note that there are zeroes in theposition where a “*” was in the Fault Exemplar, so these are neitherrewarded nor penalised. In a perfect match, where symptoms match a faultperfectly, and no symptoms are present which do not match, then a scoreof “1” (or 100%) will be given. If the symptoms are the antithesis of aset for a fault, then a score of “−1” (or −100%) will be given. ASymptom Vector of all “1”s or all “0”s will give a score of “0” to allfaults.

The Diagnostic Exemplar, when multiplying a Symptom Vector, has thefollowing characteristics:

1. If a symptom is present in the Symptom Vector where expected in thefault signature, it has a positive contribution to the fault score.

2. If no symptom is present in the Symptom Vector where expected in thefault signature, it has a neutral contribution to the fault score.

3. If no symptom is present in the Symptom Vector where no symptom isexpected in the fault signature, it has a neutral contribution to thefault score.

4. If a symptom is present in the Symptom Vector where no symptom isexpected in the fault signature, it has a negative contribution to thefault score.

5. If a symptom is either present or not present in the Symptom Vectorwhere expected that it may occur in the fault signature, it has aneutral contribution to the fault score.

In this example a Diagnostic Exemplar is tested against sets of SymptomVectors replicating fault signatures. Let S₁ be the Symptom Vectorreplicating the fault signature for fault f₁, and S₂, S₃, S₄ be for f₂,f₃, f₄. Then $S_{1} = {{\begin{pmatrix}1 \\0 \\1 \\0 \\1 \\0 \\1 \\0 \\1\end{pmatrix}\quad S_{2}} = {{\begin{pmatrix}1 \\1 \\1 \\0 \\0 \\0 \\0 \\0 \\0\end{pmatrix}\quad S_{3}} = {{\begin{pmatrix}0 \\0 \\0 \\1 \\1 \\0 \\0 \\0 \\0\end{pmatrix}\quad S_{4}} = \begin{pmatrix}0 \\0 \\1 \\1 \\1 \\1 \\1 \\1 \\1\end{pmatrix}}}}$ ${M_{3}S_{1}} = {{\begin{pmatrix}1 \\{- 0.17703} \\{- 0.31429} \\{- 0.2}\end{pmatrix}\quad M_{3}S_{2}} = {{\begin{pmatrix}0.16239 \\1 \\{- 0.52381} \\{- 0.92}\end{pmatrix}\quad M_{3}S_{3}} = {{\begin{pmatrix}{- 0.17949} \\{- 0.47368} \\1 \\0.2\end{pmatrix}\quad M_{3}S_{4}} = \begin{pmatrix}{- 0.00855} \\{- 0.81818} \\0.23810 \\1\end{pmatrix}}}}$

The effect of pre-multiplying a Symptom Vector with a DiagnosticExemplar, is to produce a vector of fault scores. It can be seen thatthe fault score of the fault with an exact match to the fault signaturein each case is “1” (100%), and that the fault scores of the otherfaults are much lower.

It is also instructive to test the Diagnostic Exemplar against SymptomVectors replicating fault signatures except that a “1” is entered(symptom is present) for each non-diagnostic symptom in the respectivefault signatures. $S_{2}^{\prime} = {{\begin{pmatrix}1 \\1 \\1 \\0 \\0 \\0 \\0 \\1 \\1\end{pmatrix}\quad S_{3}^{\prime}} = {{\begin{pmatrix}1 \\1 \\1 \\1 \\1 \\0 \\0 \\0 \\0\end{pmatrix}\quad M_{3}S_{2}^{\prime}} = {{\begin{pmatrix}0.06993 \\1 \\{- 0.6286} \\{- 0.56}\end{pmatrix}\quad M_{3}S_{3}^{\prime}} = \begin{pmatrix}{- 0.00699} \\0.357146 \\1 \\{- 0.72}\end{pmatrix}}}}$

The effect of multiplying these Symptom Vectors with the DiagnosticExemplar, is to produce a vector of scores. It can be seen that addingthe “possible” non-diagnostic symptoms has had no effect on the scorefor faults 2 and 3. Note however that scores for other faults have goneup or down as the pattern looks more or less like the respective faultsignatures.

The fault diagnosis system uses as inputs a mixture of automaticsymptoms and manual symptoms.

Automatic symptoms are those, which are generated in software fromevents coming from the system being diagnosed. Examples are a command isset, or a threshold has exceeded a value.

Manual symptoms are those which require human input to set them.Examples are something is leaking, making an unusual noise, or is damp.The fault diagnosis system has a man-machine interface (MMI), such as atouch screen or display, for receiving maintainer input specifying amanual symptom in the current state of the equipment. The system mayprompt the user to input the symptoms or the user may input the symptomsunprompted.

Automatic symptoms are continually generated by the system. On the otherhand, manual symptoms require human intervention, and take a certainamount of time and effort to investigate. A system which required theuser to find the value of all of the (many hundred) symptoms beforegiving a diagnosis, particularly as most of them would be irrelevant tothe fault, would be highly inconvenient in use.

The fault diagnosis system calculates a list of the most effectivemanual symptoms and notifies the maintainer of one or more suggestedmanual symptoms to be identified. The system calculates a rejectionvalue of each as yet unknown symptom for the known faults, whichindicates the percentage of faults which the symptom could be expectedto reject if its state is determined, on a probabilistic basis, i.e. ifpresented with the same situation over and over again.

The fault diagnosis system uses an algorithm whereby the mostappropriate symptom can be ascertained, given the current diagnosis. Thealgorithm uses a vector of probabilities with the possible manualsymptoms to be identified. This is illustrated by Step 110 in FIG. 2.The algorithm is shown by example, rather than by formula.

The vector of scores is taken, and then converted to a vector ofprobabilities, using the weighting function and normalisation as before.

The probability calculation is illustrated in the following table:Normalised Score = s Perceived probability = e^(20s) probability 0.1 7.40.00003 0.6 162754.8 0.73103 0.55 59874.1 0.26894 −0.1 0.1 0.00000 Sum222636.4and there are four possible manual symptoms HS₁, HS₂, HS₃, HS₄represented as Fault Vectors where:— ${HS}_{1} = {{\begin{pmatrix}* \\1 \\1 \\0\end{pmatrix}\quad{HS}_{2}} = {{\begin{pmatrix}* \\0 \\1 \\*\end{pmatrix}\quad{HS}_{3}} = {{\begin{pmatrix}* \\1 \\* \\0\end{pmatrix}\quad{HS}_{4}} = \begin{pmatrix}1 \\* \\* \\0\end{pmatrix}}}}$

In the above Fault Vectors, HS₁ is present for faults F₂ and F₃, notpresent for F₄, and possible for F₁. Likewise HS₂ is present for F₃,absent for F₂, and unknown for F₁ and F₄, and so on.

A measure is required to find the best one (HS₂, which distinguishesbetween the leading contenders for the fault). HS, is no good becauseboth of the likely faults exhibit the symptom. HS₃ is a little betteralthough fault 3 has a possible value for one crucial symptom, but ithas a good mark for the other one. HS₄ does not give any information forthe two leading faults. A preferred algorithm thus gives good marks toHS₂, poor marks to HS₄ and HS₁, and intermediate marks to HS₃.

A “good” symptom should reject as much of the Fault Exemplar aspossible. Thus, given the current normalised probability for a fault andthe Fault Vector for each symptom, the probability of getting a symptomof zero multiplied by the amount rejected when getting an answer of zerois summed with the probability of getting a symptom of 1 multiplied bythe amount rejected. The answer is the overall amount rejected. Thecalculation is shown in the following table. HS₁ HS₂ HS₃ HS₄ FaultVector Contents * * * 1 1 0 1 * 1 1 * * 0 * 0 0 Probability of 0 - 0.50.5 0.5 0 Corresponding to Fault Vector 0 1 0 0.5 0 0 0.5 0.5 1 0.5 1 1Prob0 - Calculated from 0.000015 0.731045 0.134485 0.499985 above Vectorand probabilities Rejection of 0 - 0 0 0 1 Corresponding to Fault Vector1 0 1 0 1 1 0 0 0 0 0 0 Rej0 - Calculated from 0.99997 0.26894 0.731030.00003 above Vector and probabilities Probability of 1 - 0.5 0.5 0.5 1Corresponding to Fault Vector 1 0 1 0.5 1 1 0.5 0.5 0 0.5 0 0 Prob1 -Calculated from 0.999985 0.268955 0.865515 0.500015 above Vector andprobabilities Rejection of 1 - Fault 0 0 0 0 Vector 0 1 0 0 0 0 0 0 1 01 1 Rej1 - Calculated from 0 0.73103 0 0 above Vector and probabilitiesProb0 * Rej0 + Prob1 * 0.000 0.393 0.098 0.000 Rej1 Power of Rejection

The table of calculations shows that HS₁ had a rejection value of 0.000,HS₂ had 0.393, HS₃ had 0.098 and HS₄ had 0.000.

The optimal mark for rejection is 0.5, where on average half of thefaults are rejected by a value of 0, and half by a value of 1, thus HS₂is quite “good”.

A fix of a fault can be effective as it will eliminate that fault fromthe analysis. So, in some senses, a fault fix can be thought of as adiagnostic step, just as much as the investigation of a symptom. Thiscorresponds to Step 112 of FIG. 2.

The fault diagnosis system includes an algorithm to allow the diagnosticbenefit of fault fixes to be compared on the same scale as investigatingsymptoms which require “Human Intervention”. This corresponds to Step114.

To compare the benefits of fault fixing and investigation, the algorithmdefines an estimate of the cost in time to investigate then fix a faultgiven optimal conditions, namely:C _(FIX)(N)=C _(F) +C _(M) log₂ N

-   -   C_(FIX)(N) is the cost of identifying and fixing a fault, given        that there are N possible candidate faults, where:    -   C_(F) is the average cost of fixing the fault, in minutes;    -   log₂ N is the estimated number of measures required, given that        notionally, the best that can be expected is that each measure        will split the population of remaining faults in two; and    -   C_(F) is the average symptom investigation time, in minutes.

The power of rejection of a symptom, r_(S), is defined above. Theinvestigation of a symptom will split the population of potential faultsinto two, those who have the symptom and those who do not. These arerepresented by probabilities p_(S) and (1−p_(S)) or q_(S). But,r_(S)=2p_(S)(1−p_(S)). This can be rearranged to$p_{s} = {\frac{1}{2}{( {1 - \sqrt{1 - {2r_{s}}}} ).}}$Note that this is an approximation, as the non-diagnostic (“*”) valuesare not considered.

Once the symptom investigation has been performed and input by themaintainer, the population of N faults will be split into two. Onepopulation with p_(S)N faults remaining, and the other with q_(S)N. Theprobability of these two occurrences is p_(S) for the former and q_(S)for the latter. The expected time to fix the system after making themeasurement is therefore:C ₂ =p _(S)(C _(F) +C _(M) log₂(p _(S) N))+q _(S)(C _(F) +C _(M) log₂(q_(S) N))

The progress of the measurement is therefore the estimated cost offixing the fault before applying the symptom investigation less the costof fixing after application. This is:—C _(FIX)(N)−C ₂ =C _(F) +C _(M) log₂ N−p _(S)(C _(F) +C _(M) log₂(p_(N)))−q _(S)(C _(F) +C _(M) log₂(q _(S) N))

Rearranging terms, this becomes:—C _(FIX)(N)−C ₂ =−C _(M)(p _(S) log₂ p _(S) +q _(S) log₂ q _(S))

When either p_(S) or q_(S) are zero, then the expression becomes zero.When they are both 0.5, then this reduces to C_(M).

Thus, the progress of the step can be calculated. Its cost is known,therefore the value of the investigation of the symptom is the ratio ofthe two. The information relating to suggested investigation(s) and/orfix(es) is presented to a user or maintainer in Step 116.

The user or maintainer may find a given fault by followinginvestigations. Alternatively, the user or maintainer may find the faultby fixing faults in turn until the given fault's symptoms disappear. Thelast fault fixed is then known to the be the one.

When a user or maintainer performs a fault fix, this may result infixing the causative fault, and there is therefore a chance that therewould be no more diagnostic work to be done. The other alternative, isthat the fault was not the one fixed, in which case, the number ofpossible faults has been reduced by one. Just fixing a fault is quiteeffective when there are for example just two or three faults remaining.Let the probability that the fault is the causative one be p_(F), andthe probability that it is not the causative one be q_(F). The expectedtime to fix the system after fixing the fault is therefore:C ₂ =p _(F).0+q _(F)(C _(F) +C _(M) log₂(N−1)).

This formula can give too much weight to faults which have little chanceof being causative. The following formula is preferred, to take accountof the possibility that a fault may have little chance of being thecausative fault:C ₂ =p _(F).0+q _(F)(C _(F) +C _(M) log₂(N−Np _(F))).

The diagnostic progress is therefore:C_(FIX)(N)−C ₂ =C _(F) +C _(M) log₂ N−q _(F)(C _(F) +C _(M) log₂(N−Np_(F))).

Rearranging to:C _(FIX)(N)−C ₂ =p _(F) C _(F) +C _(M)(p _(F) log₂ N−q _(F) log₂ q_(F)).

The diagnostic progress of the fault fix is therefore calculated, andits benefit and value calculated in the same terms as that of a symptominvestigation.

The previous calculations require a reliable estimate for the number offaults remaining. This is not immediately obvious, as all faults arealways potential candidates, and they are given varying degrees ofprobability, depending on their scores. Therefore, an estimate of thenumber of likely faults is made.

Let there be M faults in total, but the population of likely faults beN. Consider the case where there are N equally likely faults, and M−Nfaults with zero probability. If the faults are ranked in order oflikelihood, and the centroid, C, of the faults calculated. The centroidfor the N faults would be C=(N+1)/2, thus N=2C−1. The centroid can becalculated for all fault distributions, and gives a measure of theremaining number: $C = {\sum\limits_{r = 1}^{M}\quad{rp}_{r}}$

This method can be seen to give a good estimate of the value where thereis a population of N equally likely faults. It also gives a good resultwhen the faults form a triangular distribution as in the table below,where there are 5 faults, and the probabilities form a triangulardistribution. r 1 2 3 4 5 pr 0.4 0.3 0.2 0.1 0 r.pr 0.4 0.6 0.6 0.4 0

Using values from the table, C=0.4+0.6+0.6+0.4≧2, and N=2C−1≦3.

Components of a system can fail from two distinct mechanisms. Firstly,hey wear out, and secondly, they can fail due to external damage.

When components fail due to wear and tear, the components with thelowest Mean Time Before Failure (MTBF) will fail more often than thosewith a high MTBF. When components fail due to damage, the components canfail with equal likelihood.

Accordingly, the fault diagnosis system can store the MTBF values forall faults. Under “Wear and Tear” normalisation mode, the MTBF is usedto qualify the probability. (The perceived probability is multiplied bythe number of expected faults in 100,000 hours.) Under “Damage”normalisation mode, the MTBF is not taken into consideration.

This has been applied to the previous example, and MTBF figures havebeen applied. In this case, the more common fault, F₃, is seen to bemore likely under “Wear and Tear” normalisation, even though it is lesslikely under “Damage” normalisation. Normalised Normalised Perceivedprobability MTBF Perceived probability probability * (Wear and Fault(hours) Score = s probability = e^(20s) (Damage) 100000/MTBF Tear) F130,000 0.1 7.4 0.000 246.6667 0.000 F2 500,000 0.6 162754.8 0.731325509.6 0.214 F3 50,000 0.55 59874.1 0.269 1197482 0.786 F4 100,000−0.1 0.1 0.000 1 0.000 Sum 222636.4 1523239

Completely unskilled users of the fault diagnosis system may choosewhich normalisation strategy to employ. Even skilled personnel may notbe able to say whether the cause of a fault was “Damage” or “Wear andTear”. In these cases, an indeterminate strategy is used, where anormalisation between the two is chosen. In this case, the perceivedprobability is normalised, for example by {square root}{square root over(1000000/MTBF)}. The effect of this can be seen in the table below,where it is compared with the two previous normalisation strategies.Normalised Normalised probability Perceived Normalised MTBF Perceivedprobability (Wear and probability * probability Fault (hours) Score = sprobability = e^(20s) (Damage) Tear) 100000/MTBF (Indeterminate) F130,000 0.1 7.4 0.000 0.000 42.7 0.000 F2 500,000 0.6 162754.8 0.7310.214 230170.0 0.462 F3 50,000 0.55 59874.1 0.269 0.786 267765.3 0.538F4 100,000 −0.1 0.1 0.000 0.000 0.4 0.000 Sum 497989.4

It can be seen that the resultant answer is somewhere between the two,perhaps not quite as good an estimate, when more information isavailable, but a reasonable answer is provided. Thus, with lessknowledge, a less focussed result is obtained. Once extra knowledge isadded, the diagnosis becomes more accurate. Such extra knowledge may beinput to the fault diagnosis system by a user or maintainer of themonitored system to which the fault diagnosis system is connected asshown in step 118 of FIG. 2. For example, an experienced user of themonitored system may have knowledge which can direct or affect diagnosisin respect of a particular fault. Such user experience may be input viaa checkbox on the screen and has the effect of modifying the diagnosis.

A problem can arise when many faults in an area have similar symptomsets that differed in obvious detail; in other words a diagnosis can beaccurate to the general area, but give insignificant score differencesbetween faults that differ significantly in detail. The fault diagnosissystem is able to “focus” on the area of interest, and consider only theimportant symptoms.

Faults which have a negative score are extremely unlikely to becandidates for a fault to match the symptom presented. They have moresymptoms which do not match the pattern presented than which do.Therefore, negative scoring faults can be safely eliminated from thediagnosis. If this is done, then some symptoms will subsequently have noeffect on the diagnosis.

They may have “0” for all remaining faults (or in exceptional cases,they may have “1” for all remaining faults). Such symptoms are notbenefiting the diagnosis and can also be eliminated. The elimination ofnegatively scoring faults, and subsequent elimination of symptoms thathave no effect, is termed cropping. Afterwards, the diagnosis is muchimproved, because the fault diagnosis system is operationally“concentrating” upon the part of the diagnosis which is relevant, and isnot being skewed by irrelevant information.

In the fault diagnosis system, automatic cropping can optionally beselected. If cropping is used, the process of diagnosis is extended.Every time a diagnosis is requested, an initial diagnosis is performed,then cropping is done, and then another diagnosis. The results of thesecond diagnosis are then presented to the user. Once the next stage ofdiagnosis has been entered, the system reinstates the entire set offaults and symptoms, so that any changes to the diagnosis caused bysymptoms with human intervention will correctly change the course of thediagnosis. The user input of Step 118 is then fed back to Step 102 andthe rest of the steps are repeated until the fault has been diagnosedand possibly fixed.

When finding a diagnosis, it is possible that there are multiple faultsin the system. This would be evidenced by two dissimilar faults havingstrong scores of 0.5 to 0.7, but no fault having a score close to 1. Thefault diagnosis system may be arranged to eliminate one of the faultsfrom consideration, and to diagnose the system ignoring that fault andits attendant symptoms.

This is done by deleting the fault from the diagnostic information andremoving all symptoms which are associated with it (i.e. which have “1”for that fault), and keeping all symptoms which are not associated withit (i.e. which have 0 for that fault). Those that have “*” are a littlemore involved. If the symptom is non-diagnostic, then it may beassociated, so the symptom is removed. If the symptom is diagnostic andthe value in the Symptom Vector is “1”, then the symptom is removed. Ifthe symptom is diagnostic and the value in the Symptom Vector is “0”,then the symptom stays.

When preferring a diagnosis, it is possible that a fault does match thesymptoms fairly well, but it has been investigated, and the maintainerknows for certain that the fault is not present. In this case, it wouldbe useful to eliminate the fault from consideration as it may be skewingthe diagnosis. This is done by deleting the fault from the diagnosticinformation but keeping all symptoms.

Note that when both cropping and eliminating, the faults and symptomsare not deleted from the underlying diagnostic information, as they maybe needed for future fault diagnosis. They should be marked as removed.Cropping the diagnosis is less permanent than eliminating afault/symptom from the diagnosis, so the two cases are handled bydifferent mechanisms.

FIGS. 3 to 5 illustrate exemplary graphical user interfaces provided bythe fault diagnosis system in one embodiment of the invention, during afault diagnosis. The user interfaces may for example be provided on atouch-screen display or suchlike.

Referring to FIG. 3, the interface 200 includes a ranked list 202 ofpossible faults placed in order of calculated probability, after a firstpass diagnosis. The interface 200 also includes a ranked list 204 ofuser actions, including possible manual symptom investigations and/orfault fixes, placed in order of value in the process, which iscalculated from the diagnostic benefit and the time cost of the action,both of which are also listed for reference by the maintainer. Theinterface 200 also includes a set of mode options, including user actionmode (investigate only, investigate and fix), normalisation mode(damage, wear and tear), diagnosis mode (normal, focussed), andweighting mode (score weighting 1, score weighting 2). The interface 200also includes estimates of the time remaining until completion of thediagnosis 208, calculated using an “optimistic” algorithm, and a“pessimistic” algorithm, and various thresholds 210 which may be set bythe user to specify the operation of the fault diagnosis system.

Referring to FIG. 4, the ranked list 202 of possible faults placed inorder of calculated probability, after a subsequent (third, fourth,etc.) pass diagnosis, has been reduced to three faults of equalprobability. The ranked list 204 of user actions, now includes differentand differently ordered possible manual symptom investigations and threeoptional fault fixes, placed in lower order of value in the process dueto the relatively long time the fault fixes are estimated to take inrelation to the time taken for the most prominent symptominvestigations. Note the calculated estimates of time 208 have beenreduced significantly.

Referring to FIG. 5, the ranked list 202 of possible faults, after asubsequent (third, fourth, etc.) pass diagnosis, has now been reduced toa single fault. The ranked list 204 of user actions now includes only asingle fault fix. Hence, the fault has been diagnosed.

The invention described provides a fault diagnosis system that iscapable of quickly and relatively simply diagnosing faults from symptomsgenerated in complex systems, devices and networks such as satellitetelecommunications networks. Furthermore, the fault diagnosis systemdescribed is not limited to use in telecommunications networks. Thefault diagnosis system may be used in relation to any complex equipmentrequiring fault diagnosis, including but not limited to both civil andmilitary aircraft, any military system of any significant size(including tanks, other land vehicles, weapon systems, aircraft systems,avionics systems, communications systems, data dissemination systems,ship systems, control systems) and various civilian applications such aspower distribution systems, communications systems, air traffic controlsystems.

Note that in the above examples, only relatively small numbers of faultsand symptoms are used to explain the operation of the fault diagnosissystem. In a real example of a fault diagnosis system for a complexsystem, the number of faults and symptoms would be significantly larger;typically at least one hundred or more, and in more complex systems, athousand or more, faults would be involved, and one hundred or more, andin more complex systems, a thousand or more symptoms would be involved.However, the same algorithms as described above would be applicable.

Note that in the above examples, the Diagnostic Exemplar is constructed,and the Symptom Vector multiplies the Diagnostic Exemplar, such that thecontributions made by a fault symptom being present in the current statesymptoms and being deemed indicative of a known fault, or being presentand being deemed unrelated to a known fault, provide a positive andnegative contribution respectively to the score and probabilitycalculated for the corresponding fault. However, in alternativeembodiments, the Diagnostic Exemplar is constructed such thatcontributions may both be positive, or both be negative, with one beingmore positive and the other being more negative, respectively. The sameapplies to relationships between the other types of values in theDiagnostic Exemplar, and the results provided by the operation of theSymptom Vector thereon.

Note also that a zero contribution is provided in various of the cases,for example when a symptom is either present in the current state or notpresent in the current state and non-diagnostic in the diagnosticsignatures, or when a symptom is not present in the current statesymptoms and deemed indicative of the fault in the corresponding faultexemplar. A zero contribution is more positive than a negativecontribution, and more negative than a positive contribution.Alternatively, these various cases may also be arranged to providenon-zero contributions which are similar and/or substantially neutral ineffect on the score and probability calculated for the correspondingfault.

The fault diagnosis system of the present invention also includesadditional features which provide further benefits. For example, it maybe possible to ‘associate’ similar symptoms, such as those associatedwith noise or temperature, which relate to one or more faults.

Moreover, it may be possible to modify other parts of a system when aparticular fault is being fixed. For example, when an engine is takenout for repair, other associated components, such as the starter motor,gearbox or clutch, could be the subject of a precautionary check toensure that all is in order prior to replacing the engine. This lessensthe likelihood of having to remove the engine again within a shortperiod to fix one of the associated components.

External data may be input into the fault diagnosis system, for example,Failure Modes, Effects and Criticality Analysis (FMECA) data inaccordance with the Ministry of Defence Standard DEF-STAN0060.

In FIGS. 3 to 5, the cost to investigate a symptom is given in minutes.However, it will readily be appreciated that any other suitable costfunction could be used, for example, the cost given could be the actualcost in relation to the time to investigate the symptom or fix thefault. Furthermore, the user may define the parameters which are used asa method of determining the most efficient or cost-effective way ofinvestigating the symptom or fixing the fault. The user may include aweighting factor in the defined parameters.

The fault diagnosis system may also include data relating to rate ofchange of symptoms, known generally as ‘trend analysis’. The faultdiagnosis system may, in addition, include a process for feeding datagenerated back into the system as a reference for future use.

Data relating to the ageing of symptoms may also be incorporated intothe fault diagnosis system. For example, if a symptom exists for a longtime, it may not be important and therefore can be discounted. If asymptom exists and has not been checked for a long time, it too may beunimportant and can be discounted. However, such a symptom may becomemore relevant and needs to be checked.

Although the present invention has been described as performingsubstantially single level diagnostics, it will be appreciated that byincluding multi-level diagnostics, a depth of analysis can be obtainedfrom the fault diagnosis system. For example, if a pilot receives anindication that there is a fault in an engine (top level), he can usethe fault diagnosis system to drill down to an appropriate level wherehe can obtain the necessary detailed information to perform asituational assessment about the engine fault.

The invention has been described with reference to identifying anexisting failure in a system being monitored by the fault diagnosissystem, but the invention could also include a predicted diagnosismodule which predicts possible failure. This could lead to a self-fixsystem where a fault is predicted and fixed before it occurs.

In addition, an assessment of the impact of a fault on the monitoredsystem could also be implemented. For example, three assessment levelscould be given, namely, ‘action’, ‘hold’ and ‘ignore’. This would allowthe user of the system being diagnosed to make decisions concerning theavailability of the system for its next mission or sortie.

The data obtained from one or more of these assessment levels could thenbe used as an input to the predicted diagnosis module or as data beingfed back as reference data into the system as mentioned above.

Although the invention has been described with reference to an activesystem, it could also be used as a diagnostic assessability tool forsystems during development. This would provide the ability to recogniseand distinguish faults from displayed symptoms during development. Inparticular, it would be possible to determine if there are sufficientcorrectly located sensors to achieve satisfactory fault diagnosis andgive the flexibility of re-design if required. For example, as adiagnostic assessability tool, the invention could determine if it ispossible to distinguish one fault from another if they havesubstantially the same symptoms and then allow modification of thesystem prior to its completion.

The above embodiments are to be understood as illustrative examples ofthe invention. Further embodiments of the invention are envisaged. Forexample, whilst in the above embodiment the fault diagnosis system isimplemented by the use of fault diagnosis software, the fault diagnosissystem may also be implemented in hard-coded form, such as in the formof an integrated circuit.

It is to be understood that any feature described in relation to any oneembodiment may be used alone, or in combination with other featuresdescribed, and may also be used in combination with one or more featuresof any other of the embodiments, or any combination of any other of theembodiments. Furthermore, equivalents and modifications not describedabove may also be employed without departing from the scope of theinvention, which is defined in the accompanying claims.

1. A fault diagnosis system for diagnosing faults in complex equipment,the system including: means for storing a set of diagnostic signatureswhich relates a set of known faults which may occur in the equipment torespective fault symptoms which are deemed indicative of said knownfaults; and means for processing said diagnostic signatures and a set offault symptoms identified for a current state of the equipment, tocalculate diagnostic data for identifying a fault causing the currentstate of the equipment, the diagnostic data including a plurality ofvalues which are indicative of different relative non-zero likelihoodsof each of a plurality of different known faults causing the currentstate of the equipment.
 2. A fault diagnosis system according to claim1, wherein the system is arranged to calculate the diagnostic data suchthat a fault symptom being present in said current state symptoms andbeing deemed indicative of a known fault in said diagnostic signaturesprovides a cumulative positive contribution to a value indicative oflikelihood of the corresponding fault being causative.
 3. A faultdiagnosis system according to claim 1 or 2, wherein the system isarranged to calculate the diagnostic data such that a fault symptombeing present in said current state symptoms and being deemed indicativeof a known fault in said diagnostic signatures provides a more positivecontribution to a value indicative of likelihood of the correspondingfault being causative, than the fault symptom not being present in saidcurrent state symptoms.
 4. A fault diagnosis system according to anypreceding claim, wherein the system is arranged to calculate thediagnostic data such that a fault symptom, which is deemed indicative ofa relatively high number of known faults in said diagnostic signatures,being present in said current state symptoms and being deemed indicativeof a known fault in said diagnostic signatures provides a less positivecontribution to a value indicative of likelihood of the correspondingfault being causative, than the contribution to the same value providedby a different fault symptom, which is deemed indicative of a relativelylow number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed indicative of the samefault in said diagnostic signatures.
 5. A fault diagnosis systemaccording to claim 4, wherein the system is arranged to calculate thediagnostic data such that a fault symptom being present in said currentstate symptoms and being deemed indicative of a known fault in saiddiagnostic signatures, provides a contribution to a value indicative oflikelihood for the corresponding fault which is normalized relative tothe number of known faults of which the fault symptom is deemedindicative of said diagnostic signatures.
 6. A fault diagnosis systemaccording to claim 1, wherein said diagnostic signatures relate the setof known faults which may occur in the equipment to respective faultsymptoms which are deemed unrelated to said known faults.
 7. A faultdiagnosis system according to claim 6, wherein the system is arranged tocalculate the diagnostic data such that a fault symptom being present insaid current state symptoms and being deemed unrelated to a known faultin said diagnostic signatures provides a cumulative negativecontribution to a value indicative of likelihood of the correspondingfault being causative.
 8. A fault diagnosis system according to claim 6,wherein the system is arranged to calculate the diagnostic data suchthat a fault symptom being present in said current state symptoms andbeing deemed indicative of a known fault in said diagnostic signaturesprovides a more positive contribution to a value indicative oflikelihood of the corresponding fault being causative, than a differentfault symptom not being present in said current state symptoms and beingdeemed unrelated to the fault in said diagnostic signatures.
 9. A faultdiagnosis system according to claim 6, wherein the system is arranged tocalculate the diagnostic data such that a fault symptom being present insaid current state symptoms and being deemed indicative of a known faultin said diagnostic signatures provides a more positive contribution to avalue indicative of likelihood of the corresponding fault beingcausative, than a different fault symptom being present in said currentstate symptoms and being deemed unrelated to the fault in saiddiagnostic signatures.
 10. A fault diagnosis system according to claim6, wherein the system is arranged to calculate the diagnostic data suchthat a fault symptom not being present in said current state symptomsand being deemed indicative of a known fault in said diagnosticsignatures provides a more positive contribution to a value indicativeof likelihood of the corresponding fault being causative, than adifferent fault symptom being present in said current state symptoms andbeing deemed unrelated to the fault in said diagnostic signatures.
 11. Afault diagnosis system according to claim 6, wherein the system isarranged such that a fault symptom which is deemed unrelated to a knownfault has a more positive contribution to a value indicative oflikelihood for the fault, when the symptom is not present in saidcurrent state symptoms, than the contribution of the same symptom, whenpresent in said current state symptoms, to a value indicative oflikelihood for the same fault probability.
 12. A fault diagnosis systemaccording to claim 6, wherein the system is arranged to calculate thediagnostic data such that a fault symptom, which is deemed unrelated toa relatively high number of known faults in said diagnostic signatures,being present in said current state symptoms and being deemed unrelatedto a known fault in said diagnostic signatures provides a less negativecontribution to a value indicative of likelihood of the correspondingfault being causative, than the contribution to the same value providedby a different fault symptom, which is deemed unrelated to a relativelylow number of known faults in said diagnostic signatures, being presentin said current state symptoms and being deemed unrelated to the samefault in said diagnostic signatures.
 13. A fault diagnosis systemaccording to claim 12, wherein the system is arranged to calculate thediagnostic data such that a fault symptom being present in said currentstate symptoms and being deemed unrelated to a known fault in saiddiagnostic signatures, provides a contribution to a value indicative oflikelihood for the corresponding fault which is normalized relative tothe number of known faults of which the fault symptom is deemedunrelated said diagnostic signatures.
 14. A fault diagnosis systemaccording to claim 1, wherein said diagnostic signatures relate the setof known faults which may occur in the equipment to respective faultsymptoms which are non-diagnostic in relation to said known faults. 15.A fault diagnosis system according to claim 14, wherein the diagnosticsignatures identify a fault symptom to be non-diagnostic in relation toa first known fault, and to be indicative of a second known fault.
 16. Afault diagnosis system according to claim 14, wherein the system isarranged to calculate the diagnostic data such that a fault symptombeing present in said current state symptoms and being deemednon-diagnostic in relation to a known fault in said diagnosticsignatures provides a contribution to a value indicative of likelihoodof the corresponding fault being causative, which is similar to acontribution provided to the same value by a different fault symptom notbeing present in said current state symptoms and being deemednon-diagnostic in relation to the fault in said diagnostic signatures.17. A fault diagnosis system according to claim 1, wherein the system iscapable of receiving current state symptoms input by a human operator.18. A fault diagnosis system according to claim 17, wherein the systemis arranged to calculate values indicative of diagnostic rejection powerfor different possible symptoms to suggest a current state symptom whichis to be input by a human operator in order to improve the diagnosis.19. A fault diagnosis system according to claim 18, wherein the systemuses said calculated values indicative of likelihood in calculating saidrejection values.
 20. A fault diagnosis system according to claim 1,wherein the system is capable of receiving an indication of a fault fixinput by a human operator, and to recalculate said diagnostic data inresponse thereto.
 21. A fault diagnosis system according to claim 1,wherein the system is arranged to calculate values indicative ofdiagnostic benefit for different possible fault fixes to be performed bya human operator in order to improve the diagnosis.
 22. A faultdiagnosis system according to claim 21, wherein the system uses saidcalculated values indicative of likelihood in calculating said benefitvalues.
 23. A fault diagnosis system according to claim 1, wherein thesystem is arranged to store mean time before failure values forequipment components, and wherein the system is capable of calculatingsaid values indicative of likelihood using said mean time before failurevalues.
 24. A fault diagnosis system according to claim 1, wherein thesystem is arranged to provide different diagnostic modes in which saidprobabilities are calculated using different algorithmic methods.
 25. Afault diagnosis system according to claim 23, wherein in a firstdiagnostic mode said probabilities are calculated using a firstrelationship with said mean time before failure values and in a seconddiagnostic mode said probabilities are calculated using a secondrelationship with said mean time before failure values.
 26. A faultdiagnosis system according to claim 25, wherein in said seconddiagnostic mode said values indicative of likelihood are calculatedwithout reference to said mean time before failure values.
 27. A faultdiagnosis system according to claim 1, wherein the values indicative oflikelihood are calculated using a weighting function applied to a set ofcalculated values to produce the said values indicative of likelihood.28. A fault diagnosis system according to claim 27, wherein saidweighting function is a substantially monotonic function.
 29. A faultdiagnosis system according to claim 28, wherein said weighting functionis an exponential function.
 30. A fault diagnosis system according toclaim 1, wherein the values indicative of likelihood are calculatedusing normalization across a calculated set of values.
 31. A faultdiagnosis system according to claim 1, wherein the system is arranged tobe capable of calculating the diagnostic data by calculating a first setof values indicative of likelihood, identifying faults which haverelatively small likelihoods of being causative, and performing arecalculation of said diagnostic data whilst taking said faults havingrelatively small likelihoods of being causative to have an effectivelyzero likelihood of being causative.
 32. A fault diagnosis systemaccording to claim 30, wherein the diagnostic signatures of said faultshaving relatively small likelihoods of being causative are omitted fromsaid recalculation.
 33. A fault diagnosis system according to claim 1,wherein the system is arranged to calculate sets of diagnostic data inrelation to sets of fault symptoms identifying current states of thesystem in iterative steps using continually improved knowledge of thecurrent state of the system at each step.
 34. A fault diagnosis systemaccording to claim 1, wherein similar symptoms are associated for easeof diagnosis.
 35. Computer software arranged to implement a faultdiagnosis system for diagnosing faults in complex equipment, thecomputer software implementing: means for storing a set of diagnosticsignatures which relates a set of known faults which may occur in theequipment to respective fault symptoms which are deemed indicative ofsaid known faults; and means for processing said diagnostic signaturesand a set of fault symptoms identified for a current state of theequipment, to calculate diagnostic data for identifying a fault causingthe current state of the equipment, the diagnostic data including aplurality of values which are indicative of different relative non-zerolikelihoods of each of a plurality of different known faults causing thecurrent state of the equipment.
 36. A computer-implemented method fordiagnosing faults in complex equipment, the method comprising: storing aset of diagnostic signatures which relates a set of known faults whichmay occur in the equipment to respective fault symptoms which are deemedindicative of said known faults; and processing said diagnosticsignatures and a set of fault symptoms identified for a current state ofthe equipment, to calculate diagnostic data for identifying a faultcausing the current state of the equipment, the diagnostic dataincluding a plurality of values which are indicative of differentrelative non-zero likelihoods of each of a plurality of different knownfaults causing the current state of the equipment.